import java.util.LinkedList;
import java.util.List;

/**
 * 主类，实现Book对象的存储与相等性检查
 */
public class SorSearchMainClass {
	public static void main(String[] args) {
		// 创建链表存储Book对象
		List<Book> bookList = new LinkedList<>();

		// 向链表中添加若干Book对象（包含重复价格的对象）
		bookList.add(new Book(39.9));
		bookList.add(new Book(59.9));
		bookList.add(new Book(29.9));
		bookList.add(new Book(59.9));
		bookList.add(new Book(49.9));
		bookList.add(new Book(39.9));
		bookList.add(new Book(69.9));

		// 创建一个新的Book对象（用于检查相等性）
		Book targetBook = new Book(59.9);

		// 查找链表中与targetBook相等的对象
		List<Book> equalBooks = new LinkedList<>();
		for (Book book : bookList) {
			if (book.equals(targetBook)) { // 使用重写的equals方法判断相等性
				equalBooks.add(book);
			}
		}

		// 输出结果
		System.out.println("目标书籍信息：" + targetBook);
		System.out.println("链表中共有 " + bookList.size() + " 本书籍");
		System.out.println("其中与目标书籍价格相等的书籍有 " + equalBooks.size() + " 本，分别是：");
		for (Book book : equalBooks) {
			System.out.println(book);
		}
	}
}